Modify the Cobra.API.Exe.Config File

Modify the Cobra.api.exe.config file on the Cobra client workstation to use netTcpBinding.

To edit the Cobra.api.exe.config file, complete the following steps:

  1. Navigate to the Cobra installation folder.
  2. Locate the Cobra.api.exe.config file and open it using a text editor (such as Notepad).
  3. Change the configuration file settings to conform to the protocol required by the Cobra application server.
    1. Change the address protocol value for each endpoint from http to net.tcp.
    2. Change the binding value for each endpoint from customBinding to netTcpBinding.
    3. Change the binding configuration value for each endpoint from compressedBinaryBinding to WindowsClientOverTcp.
    4. Uncomment the identity tag on both endpoints. If the tag does not exist, insert it as shown below.
    5. Uncomment the netTcpBinding section.
    6. Change the netTcpBinding security mode from Message to Transport or from Transport to Message. Transport level authentication provides faster performance than Message level authentication.
    Before

    <client>

    <endpoint name="PersistenceService" address="http://<COBRA SERVER NAME>:9009/PersistenceService" binding="customBinding" bindingConfiguration="compressedBinaryBinding" contract="IdeaBlade.Persistence.Wcf.IWcfPersistenceService">

    <!-- <identity><servicePrincipalName value="Local Network"></servicePrincipalName></identity>-->

    </endpoint>

    <!-- One endpoint per data source extension -->

    <endpoint name="PersistenceServer" address="http://<COBRA SERVER NAME>:9009/PersistenceServer" binding="customBinding" bindingConfiguration="compressedBinaryBinding" contract="IdeaBlade.Persistence.Wcf.IWcfPersistenceServer">

    <!-- <identity><servicePrincipalName value="Local Network"></servicePrincipalName></identity>-->

    </endpoint>

    </client>

    <!-- <netTcpBinding>

    <binding name="WindowsClientOverTcp"

    closeTimeout="10:01:00"

    openTimeout="10:01:00"

    receiveTimeout="10:10:00"

    sendTimeout="10:01:00"

    transactionFlow="false"

    transferMode="Buffered"

    transactionProtocol="OleTransactions"

    hostNameComparisonMode="StrongWildcard"

    listenBacklog="10"

    maxBufferPoolSize="2147483647"

    maxBufferSize="2147483647"

    maxConnections="10"

    maxReceivedMessageSize="2147483647">

    <readerQuotas maxDepth="32"

    maxStringContentLength="2147483647"

    maxArrayLength="2147483647"

    maxBytesPerRead="2147483647"

    maxNameTableCharCount="2147483647" />

    <reliableSession ordered="true"

    inactivityTimeout="10:10:00"

    enabled="false" />

    <security mode="Message">

    <transport clientCredentialType="Windows" />

    </security>

    </binding>

    </netTcpBinding>-->

    After

    <client>

    <endpoint name="PersistenceService" address="net.tcp://<COBRA SERVER NAME>:9009/PersistenceService" binding="netTcpBinding" bindingConfiguration="WindowsClientOverTcp" contract="IdeaBlade.Persistence.Wcf.IWcfPersistenceService">

    <identity><servicePrincipalName value="Local Network"></servicePrincipalName></identity>

    </endpoint>

    <!-- One endpoint per data source extension -->

    <endpoint name="PersistenceServer" address="net.tcp://<COBRA SERVER NAME>:9009/PersistenceServer" binding="netTcpBinding" bindingConfiguration="WindowsClientOverTcp" contract="IdeaBlade.Persistence.Wcf.IWcfPersistenceServer">

    <identity><servicePrincipalName value="Local Network"></servicePrincipalName></identity>

    </endpoint>

    </client>

    <netTcpBinding>

    <binding name="WindowsClientOverTcp"

    closeTimeout="10:01:00"

    openTimeout="10:01:00"

    receiveTimeout="10:10:00"

    sendTimeout="10:01:00"

    transactionFlow="false"

    transferMode="Buffered"

    transactionProtocol="OleTransactions"

    hostNameComparisonMode="StrongWildcard"

    listenBacklog="10"

    maxBufferPoolSize="2147483647"

    maxBufferSize="2147483647"

    maxConnections="10"

    maxReceivedMessageSize="2147483647">

    <readerQuotas maxDepth="32"

    maxStringContentLength="2147483647"

    maxArrayLength="2147483647"

    maxBytesPerRead="2147483647"

    maxNameTableCharCount="2147483647" />

    <reliableSession ordered="true"

    inactivityTimeout="10:10:00"

    enabled="false" />

    <security mode="Transport">

    <transport clientCredentialType="Windows" />

    </security>

    </binding>

    </netTcpBinding>

  4. If the client installation runs on Windows XP, verify that maxconnection is set to 8. Uncomment the system.net tag on both endpoints.
    Before

    <!-- <system.net>

    <connectionManagement>

    <add address="*" maxconnection="8" />

    </connectionManagement>

    </system.net>-->

    After

    <system.net>

    <connectionManagement>

    <add address="*" maxconnection="8" />

    </connectionManagement>

    </system.net>

    Note: You must perform this procedure on each client workstation that connects to the Cobra application server.